package com.topvision.service.impl.db;

import com.topvision.annotation.DataSource;
import com.topvision.db.DataSourceConstants;
import com.topvision.db.DataSourceContextHolder;
import com.topvision.service.db.DataSourceService;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;

@Service("dataSourceService")
@DataSource(DataSourceConstants.MYSQL_PORTAL_SLAVE)
public class DataSourceServiceImpl implements DataSourceService {

    private Logger log = Logger.getLogger(this.getClass());

    @Override
    public String dataA() {
        return "使用默认数据源";
    }

    @Override
    @DataSource(DataSourceConstants.MYSQL_PORTAL_MASTER)
    public String dataB() {
        return "覆盖类上指定的，使用数据源 MYSQL_PORTAL_MASTER";
    }

    @Override
    @DataSource(DataSourceConstants.ORACLE_PORTAL_MASTER)
    public String dataC() {
        return "覆盖类上指定的，使用数据源 ORACLE_PORTAL_MASTER";
    }

    @Override
    @DataSource(DataSourceConstants.ORACLE_PORTAL_SLAVE)
    public String dataD() {
        return "覆盖类上指定的，使用数据源 ORACLE_PORTAL_SLAVE";
    }

    @Override
    public String dataE() {
        DataSourceContextHolder.set(DataSourceConstants.MYSQL_PORTAL_MASTER);
        return "指定切换到数据源 MYSQL_PORTAL_MASTER";
    }

    @Override
    public String dataF() {
        DataSourceContextHolder.set(DataSourceConstants.ORACLE_PORTAL_MASTER);
        return "指定切换到数据源 ORACLE_PORTAL_MASTER";
    }
}
